package lib

func init() {
	Probs = append(Probs, Problem{
		Num:         14,
		Discription: "最长公共前缀",
		Level:       1,
		Labels: map[string]int{
			"字符串": 1,
		},
	})
}

func LongestCommonPrefix(strs []string) string {
	k := 0
	reachEnd := false
	for !reachEnd {
		if k >= len(strs[0]) {
			//注意这里要k++，因为最后会-1
			k++
			break
		}

		ch := strs[0][k]
		for i := 1; i < len(strs); i++ {
			if k >= len(strs[i]) || strs[i][k] != ch {
				reachEnd = true
				break
			}
		}

		k++
	}

	//k-1，因为s[k]是不满足的，而最后有k++，所以这里要-1
	return strs[0][:k-1]
}
